<?php
App::import('Sanitize');

class AccountsController extends AppController
{
  //var $scaffold;
  var $uses = array("Account", "Category", "Comment", "CookingMethod", "Favorite", "Recipe");
  var $helpers = array("Upload", "Javascript", "Form", "Html", "Ajax", "Teefan");
  var $components = array("RequestHandler");
  
  function index()
  {
    if ($this->Session->read("Account.logged") == "YES")
    {
      $this->redirect("/accounts/show/".$this->Session->read("Account.permalink"));
    }
    else
    {
      $this->redirect("/accounts/register");
    }
  }
  
  function show($permalink = null)
  {
    if ($this->Session->read("Account.logged") == "NO" || $this->Session->read("Account.permalink") != $permalink)
    {
      $this->redirect("/accounts/register");
    }
    
    $account = $this->Account->findByPermalink($permalink);
    
    if (empty($account))
    {
      $this->redirect("/accounts/register");
    }
    else
    {
      if (empty($this->data))
      {
        $this->data = $account;
      }
      else
      {
        $this->Account->id = $account["Account"]["id"];
        if ($this->data["Account"]["action"] == "change_name")
        {
          if ($account["Account"]["password"] == md5($this->data["Account"]["password_change_name"].$account["Account"]["salt"]))
          {
            if ($this->Account->saveField("name", $this->data["Account"]["name"], true))
            {
              $this->Session->write("Account.name", $this->data["Account"]["name"]);
              $name_complete_message = "Thông tin thay đổi đã được cập nhật";
              $this->set("name_complete_message", $name_complete_message);
            }
          }
          else
          {
            $name_error_message = "Xin vui lòng nhập chính xác mật mã hiện tại";
            $this->set("name_error_message", $name_error_message);
          }

          $this->data["Account"]["password"] = "88888888888888888888888888888888";
        }
        elseif ($this->data["Account"]["action"] == "change_password")
        {
          if ($account["Account"]["password"] == md5($this->data["Account"]["password_change"].$account["Account"]["salt"]))
          {
            if ($this->Account->saveField("password", $this->data["Account"]["password"], true))
            {
              $password_complete_message = "Thông tin thay đổi đã được cập nhật";
              $this->set("password_complete_message", $password_complete_message);
            }
          }
          else
          {
            $password_error_message = "Xin vui lòng nhập chính xác mật mã hiện tại";
            $this->set("password_error_message", $password_error_message);
          }

          $this->data["Account"]["name"] = $this->Session->read("Account.name");
        }
      }
      
      
      
      
    }
    
    $this->pageTitle = "Thông Tin Cá Nhân";
  }
  
  function register()
  {
    if (!empty($this->data))
    {
      if ($this->Account->save($this->data))
      {
        $this->redirect("/accounts/register_complete");
      }
      else
      {
        
      }
    }
    
    $this->pageTitle = "Đăng Ký Thành Viên";
  }
  
  function login()
  {
    if (!empty($this->data))
    { 
      if (!empty($this->data["Account"]["email_login"]) && !empty($this->data["Account"]["password_login"]))
      {
        $account = $this->Account->findByEmail($this->data["Account"]["email_login"]);
        if (!empty($account))
        {
          if ($account["Account"]["password"] == md5($this->data["Account"]["password_login"].$account["Account"]["salt"]))
          {
            $this->Session->write("Account.id", $account["Account"]["id"]);
            $this->Session->write("Account.level", $account["Account"]["level"]);
            $this->Session->write("Account.email", $account["Account"]["email"]);
            $this->Session->write("Account.name", $account["Account"]["name"]);
            $this->Session->write("Account.permalink", $account["Account"]["permalink"]);
            $this->Session->write("Account.logged", "YES");
          }
          else
          {
            $password_error = "Mật mã không hợp lệ";
            $this->set("password_error", $password_error);
          }
        }
        else
        {
          $email_error = "Địa chỉ hộp thư này chưa đăng ký";
          $this->set("email_error", $email_error);
        }  
      }
      else
      {
        if (empty($this->data["Account"]["email_login"]))
        {
          $email_error = "Xin vui lòng nhập địa chỉ hộp thư";
          $this->set("email_error", $email_error);
        }
        if (empty($this->data["Account"]["password_login"]))
        {
          $password_error = "Xin vui lòng nhập mật mã";
          $this->set("password_error", $password_error);
        }
      }
      
    }
    else
    {
      
    }
  }
  
  function logout()
  {
    $this->Session->delete("Account.id");
    $this->Session->delete("Account.level");
    $this->Session->delete("Account.email");
    $this->Session->delete("Account.name");
    $this->Session->delete("Account.permalink");
    $this->Session->write("Account.logged", "NO");
    $this->redirect("/recipes");
  }
  
  function terms_and_conditions()
  {
    $this->pageTitle = "Các Điều Khoản Thỏa Thuận Về Sử Dụng Dịch Vụ";
  }
  
  function register_complete()
  {
    
  }
}
?>
